﻿using System;

namespace PortalCurriculo.WebUI.UserControls.Curriculo.Cadastro
{
    public partial class Profissional : Curriculo, ICurriculo
    {
        public Domain.Profissional EntidadeSimples { private get; set; }

        protected void Page_Load(object sender, EventArgs e)
        {
            chkImediata.CheckedChanged += OnChangeControl;
        }

        public string ValidationGroup
        {
            get { return txtCartaApresentacao.ValidationGroup; }
            set
            {
                txtDisponibilidade.ValidationGroup =
                    txtCartaApresentacao.ValidationGroup =
                    chkImediata.ValidationGroup =
                    rdoDisponibilidadeMudarNao.ValidationGroup =
                    rdoDisponibilidadeMudarSim.ValidationGroup =
                    rdoDisponibilidadeViajarNao.ValidationGroup =
                    rdoDisponibilidadeViajarSim.ValidationGroup =
                    rdoPossuiCarroNao.ValidationGroup =
                    rdoPossuiCarroSim.ValidationGroup = rdoPNENao.ValidationGroup = rdoPNESim.ValidationGroup = value;
            }
        }

        public void Editar()
        {
            //txtCartaApresentacao.Text = EntidadeSimples.CartaApresentacao;
            txtDisponibilidade.Value = EntidadeSimples.DisponibilidadeInicio == null
                                           ? 0
                                           : (int)EntidadeSimples.DisponibilidadeInicio;
            chkImediata.Checked = txtDisponibilidade.Value == 0;
            txtDisponibilidade.Enabled = !chkImediata.Checked;
            rdoDisponibilidadeMudarSim.Checked = EntidadeSimples.DisponibilidadeMudar;
            rdoDisponibilidadeMudarNao.Checked = !EntidadeSimples.DisponibilidadeMudar;
            rdoDisponibilidadeViajarSim.Checked = EntidadeSimples.DisponibilidadeViajar;
            rdoDisponibilidadeViajarNao.Checked = !EntidadeSimples.DisponibilidadeViajar;
            rdoPossuiCarroSim.Checked = EntidadeSimples.PossuiCarro;
            rdoPossuiCarroNao.Checked = !EntidadeSimples.PossuiCarro;
            rdoPNESim.Checked = EntidadeSimples.PortadorNecessidadeEspecial;
            rdoPNENao.Checked = !EntidadeSimples.PortadorNecessidadeEspecial;
        }

        public void LimparCampos()
        {
            txtCartaApresentacao.Text = string.Empty;
            txtDisponibilidade.Value = 0;
            rdoDisponibilidadeMudarNao.Checked = true;
            rdoDisponibilidadeViajarNao.Checked = true;
            rdoPossuiCarroNao.Checked = true;
        }

        public void Salvar()
        {
            if (EntidadeSimples == null) EntidadeSimples = new Domain.Profissional { Ativo = true, IdUsuario = UsuarioLogado.Id };

            //EntidadeSimples.CartaApresentacao = txtCartaApresentacao.Text;
            EntidadeSimples.DisponibilidadeInicio = chkImediata.Checked
                                                     ? (byte)0
                                                     : (byte)txtDisponibilidade.Value;
            EntidadeSimples.DisponibilidadeMudar = rdoDisponibilidadeMudarSim.Checked;
            EntidadeSimples.DisponibilidadeViajar= rdoDisponibilidadeViajarSim.Checked;
            EntidadeSimples.PossuiCarro = rdoPossuiCarroSim.Checked;
            EntidadeSimples.PortadorNecessidadeEspecial = rdoPNESim.Checked;
            EntidadeSimples.Save();
        }

        protected void chkImediata_CheckedChanged(object sender, EventArgs e)
        {
            txtDisponibilidade.Enabled = !chkImediata.Checked;
            txtDisponibilidade.Value = 0;
        }
    }
}